package com.zsxb.crm.service;

import com.zsxb.crm.dto.DictDTO;
import com.zsxb.crm.dto.DictDetailDto;
import com.zsxb.crm.dto.DictDetailPageDto;
import com.zsxb.crm.dto.DictPageDTO;
import com.zsxb.crm.pojo.Dict;
import com.zsxb.crm.pojo.SysStatus;
import com.zsxb.crm.result.PageResult;

import java.util.List;

public interface DictService {

    /**
     * 数据字典分页
     */
    PageResult pageQuery(DictPageDTO dictPageDTO);

    /**
     *  字典类型新增
     */
    void insert(DictDTO dictDTO);

    /**
     * 字典类型删除
     */
    void delete(String dictId);

    /**
     * 字典类型修改回显
     */
    Dict queryByDictId(Long dictId);

    /**
     * 字典类型修改回显
     */
    void update(Dict dict);
    /**
     * 根据字典类型查询字典
     *
     * @param dictType
     * @return
     */
    List<SysStatus> findByDictType(String dictType);

    /**
     * 字典明细分页查询
     * @param dto
     * @return
     */
    PageResult findDetailByDictType(DictDetailPageDto dto);

    /**
     * 新增字典明细
     * @param dto
     */
    void addDictDetail(DictDetailDto dto);

    /**
     * 修改字典明细
     * @param dto
     * @param dto
     */
    void updateDictDetail(SysStatus dto);

    /**
     * 根据字典明细编码查询字典明细
     * @param dictCode
     * @return
     */
    SysStatus findByDictCode(Long dictCode);

    void deleteDetail(String dictCode);
}
